package com.yfp.machine.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

@Schema(title = "设备类型vo")
@Data
public class MachineVo implements Serializable {
    //机器id
    @Schema(title = "机器id")
    private String machineId;
    //公司id
    @Schema(title = "公司id")
    @NotNull(message = "公司信息不能为空")
    private String companyId;
    //区域id
    @Schema(title = "区域id")
    @NotNull(message = "区域不能为空")
    private String areaId;
    //线路id
    @Schema(title = "线路id")
    @NotNull(message = "线路不能为空")
    private String routeId;
    //点位id
    @Schema(title = "点位id")
    @NotNull(message = "点位不能为空")
    private String positionId;
    //设备类型（1：二代机  2：三代机）
    @Schema(title = "设备类型（1：二代机  2：三代机）")
    @NotNull(message = "设备类型不能为空")
    private Integer machineType;
    //设备名称
    @Schema(title = "设备名称")
    @NotNull(message = "设备名称不能为空")
    private String machineName;
    //设备编号
    @Schema(title = "设备编号")
    private String machineSn;
    //设备型号
    @Schema(title = "设备型号")
    @NotNull(message = "设备型号不能为空")
    private String machineModel;
    //维修负责人userid
    @Schema(title = "维修负责人userid")
    @NotNull(message = "维修负责人不能为空")
    private String serviceContracts;
    //设备投放时间
    @Schema(title = "设备投放时间")
    @NotNull(message = "投放时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date operationTime;
    //投放地址
    @Schema(title = "投放地址")
    @NotNull(message = "投放地址不能为空")
    private String positionAddr;
    //经度
    @Schema(title = "经度")
    @NotNull(message = "经度不能为空")
    private String longitude;
    //纬度
    @Schema(title = "纬度")
    @NotNull(message = "纬度不能为空")
    private String latitude;
    //创建时间
    @Schema(title = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    //更新时间
    @Schema(title = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    @Schema(title = "0- 支付宝/微信 1-微信 2-支付宝")
    private Integer payType;

    @Schema(title = "设备库存阈值")
    @NotNull(message = "设备库存阈值不能为空")
    private String threshold;

    @Schema(title = "备注")
    private String remark;
}
